﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ОрганГосРегистрацииТС
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"80fae847-a003-48c3-bc60-bd2d0d55ccf7\", \"Представление\":\"ПодразделенияГосавтоинспекции\"}")]
		ПодразделенияГосавтоинспекции = 0,//Подразделения Госавтоинспекции МВД РФ
		[EnumMember(Value = "{\"Ссылка\":\"e1cfd9eb-8296-4925-b2cb-7fa1978126a4\", \"Представление\":\"ОрганыГлавГосТехНадзора\"}")]
		ОрганыГлавГосТехНадзора = 1,//Органы Главгостехнадзора
		[EnumMember(Value = "{\"Ссылка\":\"168b4e37-7641-412b-aca8-c9d60f66361e\", \"Представление\":\"ТаможенныеОрганы\"}")]
		ТаможенныеОрганы = 2,//Таможенные органы
	}
	public static partial class ОрганГосРегистрацииТС_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПодразделенияГосавтоинспекции = new Guid("2dbd60bc-550d-f7cc-48c3-a00380fae847");//Подразделения Госавтоинспекции МВД РФ
		public static readonly Guid ОрганыГлавГосТехНадзора = new Guid("a17fcbb2-8197-a426-4925-8296e1cfd9eb");//Органы Главгостехнадзора
		public static readonly Guid ТаможенныеОрганы = new Guid("d6c9a8ac-660f-1e36-412b-7641168b4e37");//Таможенные органы
		public static ОрганГосРегистрацииТС Получить(this ОрганГосРегистрацииТС Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ОрганГосРегистрацииТС Получить(this ОрганГосРегистрацииТС Значение, Guid Ссылка)
		{
			if(Ссылка == ПодразделенияГосавтоинспекции)
			{
				return ОрганГосРегистрацииТС.ПодразделенияГосавтоинспекции;
			}
			else if(Ссылка == ОрганыГлавГосТехНадзора)
			{
				return ОрганГосРегистрацииТС.ОрганыГлавГосТехНадзора;
			}
			else if(Ссылка == ТаможенныеОрганы)
			{
				return ОрганГосРегистрацииТС.ТаможенныеОрганы;
			}
			return ОрганГосРегистрацииТС.ПустаяСсылка;
		}
		public static byte[] Ключ(this ОрганГосРегистрацииТС Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ОрганГосРегистрацииТС Значение)
		{
			switch (Значение)
			{
				case ОрганГосРегистрацииТС.ПодразделенияГосавтоинспекции: return ПодразделенияГосавтоинспекции;
				case ОрганГосРегистрацииТС.ОрганыГлавГосТехНадзора: return ОрганыГлавГосТехНадзора;
				case ОрганГосРегистрацииТС.ТаможенныеОрганы: return ТаможенныеОрганы;
			}
			return Guid.Empty;
		}
	}
}